查看原文
其他

TDH中的高效SQL IDE--Waterdrop

2017-08-11 Coda6 大数据开放实验室

Waterdrop是TDH为开发人员和数据库管理人员提供的数据库管理工具,它可进行跨平台管理,可作为Inceptor SQL客户端,支持并兼容其余多种数据库。Waterdrop具有四个主要功能模块:数据库浏览器(Database Navigator)、SQL编辑器(SQL Editor)、SQL执行器(SQL Executor)、数据操作(Data Viewer/Editor),分别用来帮助用户实现数据库管理、SQL编辑、SQL执行、数据操作四项功能。Waterdrop还提供了一系列数据库开发和ETL工具,例如存储过程测试器,数据导出工具,实现同、异源数据库间数据传输功能,方便SQL调试并丰富数据管理功能。

四个功能模块

Waterdrop包含以下四个功能模块。

数据库浏览器

数据库导浏览器支持查看已经建立的连接,以及各连接下的元数据,包括数据库、表、列、分区、桶、视图、存储过程、包等。

用户可以直接在数据浏览页上新建元数据,编辑DDL等信息,并保存完成创建。

Waterdrop支持用户对任意多个同类元数据进行比较。对比完成后Waterdrop将按照用户选择的报告方式返回报告结果,报告将提供对比对象在结构和数据上的差异。

SQL编辑器

编辑器具有强大的辅助SQL构造的功能,包括错误高亮,语句格式化,内容自动补全和提示等。

  • 高亮报错:高亮和报错主要是对SQL语句进行词法和语法分析,保证语法与设置的服务器方言类型保持一致。

  • SQL语句格式化:用户在编辑器中输入SQL之后 

    按下 CTRL+ALT+F 或者在编辑器面板中右键 Format → 格式化SQL ,Waterdrop会按照标准对其格式化:

  • SQL内容助理和提示:编辑SQL语句时,Waterdrop提供对关键字或元数据对象名称自动补全功能。例如,如果当前数据库中存在一张表orc_test_tb,在编辑面板中输入“orc”,按下 CTRL+SHIFT+SPACE,编辑器会自动将之补全为“orc_test_tb”。

  • 上下文帮助:当用户在SQL编辑器中选中某个实体,例如“select * from db”用户选中或者光标置于db,然后按F2键即可查看该元数据的信息。

  • SQL模板:用户可以预定义SQL模板,用户在SQL编辑器中输入模板名,然后按下tab即可出现预先设置好的语句模板。例如,Waterdrop内置模板scgb(select count with group by),当在SQL编辑其中输入scgb按下tab后

    编辑器中即自动出现“select col,count(*) from table t group by col;”:

  • 标准SQL和其他编程语言的自动转化:此项功能主要方便其他编程语言(如java,c#等等)开发者获得SQL字符串。在编辑器中选择一段SQL,点击高级复制,选择目标语言,即可获得对应于目标语言的SQL字符串。相反,当从编程语言拷贝SQL字符串到Waterdrop时,也会被转化为标准SQL。

SQL执行器

用户不仅可以通过SQL执行器界面的按钮去执行调试SQL语句,而且还提供了快捷键以方便快速的实现各种执行功能。

另外Waterdrop SQL执行器支持将SQL的查询结果导出于文件。目前支持的导出文件格式有XML、JSON、HTML、CSV、数据库表、XLSX。

数据操作

Waterdrop支持用户在数据视图直接对数据进行修改删除粘贴复制,改动可以直接影响数据来源的表,同时能够防止某些取值不可变的字段被篡改。

例如,有一张表demo,总共有三列a,b,c,分桶键是b,其中分区键是c,因此b和c的值不允许被修改。

下图是select * from demo的结果:

 

可以对此结果进行修改,保存变更后,修改后的数据将直接保存在表demo中。例如,点击列a,将其值修改为2,如下图,点击数据视图上的保存按钮后,表demo的值将会变为“2,1,1”。但是,当尝试修改b,c字段时会发现修改将无法生效。 

用户还可以选中需要删除的行,点击“-”按钮,将该列从数据视图和表中删除。或者点击“+”按钮,新增数据。

Waterdrop提供高级复制功能,用于将选中的数据按照自定义的格式复制到系统剪切板。格式的自定义包括:是否复制表头,指定行、列分隔符等。

复制功能之外,Waterdrop还允许将外部文件中的数据粘贴在数据视图,假设需要将excel文件中的部分数据复制到Inceptor表,可以选中excel文件中的目标行,复制,在Waterdrop的结果集视图上,点击 “+”按钮,然后在新建出来的行中 右键→高级粘贴 或者按快捷键CTRL+SHIFT+V,即实现高级粘贴: 

三个工具

除了以上主要模块,Waterdrop 5.0目前还内置了如下三个工具,分别用于实现数据的传输以及存储过程的测试。

数据导入工具

将任意连接中的表内数据根据设定的字段对应关系导入至指定目标表。

数据导出工具

将表内数据或者任意查询结果的数据导出至外部文件。

存储过程测试工具

用于测试存储过程。测试存储过程时,用户可以根据存储过程的结构,向其传递参数,Waterdrop利用传递的参数值运行存储过程的内容,最终打印测试结果。

如何获取Waterdrop

有以下两种方式获取Waterdrop:

  • 网盘: https://pan.baidu.com/s/1eRU0XV0 

    密码: snj5

  • 5.0版本之后的集群,可以在Transwarp Manager中选择Inceptor,右上角“更多操作”菜单中选择“下载Waterdrop”。

注:Waterdrop必须搭配inceptor-sdk使用,请同时下载二者。

许可证的申请

从5.0开始,使用Waterdrop连接Inceptor时需要有星环签发的许可证才能成功,如果没有有效许可证,连接Inceptor时会失败并弹窗提示要求导入许可证。如果用户本地没有有效的许可证,请至support.transwarp.io联系支持人员申请许可证。

许可证的申请分为两步,第一步由商务人员提供客户公司及合同信息,获得该公司的专用秘钥。第二步由客户技术人员使用该秘钥至https://snowflake.transwarp.io/自助申请并下载许可证。

总结

Waterdrop作为高效的SQL IDE,为开发人员对于SQL编程与数据编辑带来了极大便利。Waterdrop不仅可以运行调试SQL,而且提供多项功能与操作,降低SQL编程的复杂度,简化项目的构建,帮助开发人员专心致力于业务的实现。此外,Waterdrop还提供了多种自定义设置,定制模板,以满足不同用户的编程和使用习惯。熟练Waterdrop的使用,将大幅提升工程的开发效率。


往期原创文章

Transwarp Pilot: 让BI分析全面自助化

近实时的ETL工具--Transwarp Transporter

MBO: SQL优化之基于物化视图的优化

用Slipstream构建复杂事件处理应用

混合负载下的资源调度神器--Inceptor Scheduler

你应该知道的工作流调度平台——Transwarp Workflow

OLAP Cube可视化设计工具—Transwarp Rubik

TDH荣获TPC官方测试(TPCx-HS@10TB)最佳性能

利用Transwarp Guardian保障HDFS安全

Governor中的元数据血缘关系和影响分析

星环的划时代版本-Transwarp Data Hub 5.0

关于StreamSQL中的Application隔离

基于流的SQL引擎:StreamSQL(基础介绍)

如何让Kafka集群免受黑客攻击

Transwarp如何让Hadoop集群免受黑客攻击

大数据基础技术的未来演进趋势预测




大数据开放实验室由星环信息科技(上海)有限公司运营,专门致力于大数据技术的研究和传播。若转载请在文章开头明显注明“文章来源于微信订阅号——大数据开放实验室”,并保留作者和账号介绍。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存